1. Technical Field of the Present Invention
The present invention generally relates to integrated circuits and, more specifically, to the transmission of data in an integrated circuit.
2. Description of Related Art
In the past, communication of data at high speeds between various elements of a system was limited to a relatively few number of applications. Today, however, high-speed communication has become a requirement for most applications. High-speed communication is typically accomplished by breaking the data into packets that can be transmitted (via a transmitter) and re-assembled (via a receiver) at the destination. The integrity of the data packets is ensured using data error/correction techniques such as Cyclic Redundancy Coding (CRC) and Variant CRC (VCRC). The CRC and VCRC are part of the data packet and are calculated with each transmission.
Typical vendor design solutions provide a transmitter/receiver package that implements the high-speed data packet communication between two distinct portions of a customer design according to a particular protocol such as Infiniband™.
The transmission mediums used in the package solution and the customer designs are not always of equal capacity. Consequently, the transmission of the data packets can be stalled by certain conditions such as the transmitter being filled to capacity or as a result of transmitting the data packet across differing clock domains.
Current designs of the transmitter/receiver package rely on each customer creating an individualized solution for resolving stalls. Unfortunately, this results in numerous differing solutions for the same problem; many of which are incompatible with one another.
It would, therefore, be a distinct advantage to have a method and apparatus that would resolve theses transmission stalls in the transmitter/receiver package so as to provide a consistent and less error prone solution with multiple differing customer interfaces.